var _ = require("lodash");
// _.omit(object, [props])
// 方法会返回一个新的对象，这个对象是原始对象舍弃给定的属性之后的新生成的对象
var object = { a: 1, b: "2", c: 3 };

let a = _.omit(object, ["a", "c"]);
// console.log(a);

// _.omitBy(object, [predicate=_.identity])
// 返回一个新的对象，对对象的每个属性都进行一次断言，如果结果不为真，就保留
// 用结果不为真的属性，组成一个新的对象
let b = _.omitBy(object, _.isNumber);
// console.log(b);

let obj = {
  a: 1,
  b: "",
  c: null,
  d: "Data",
  e: 0,
  f: ["1", "2"],
  g: [],
  h: [],
  i: undefined,
};

function isEmptyValue(value) {
  return (
    value === null ||
    value === "" ||
    value === undefined ||
    (Array.isArray(value) && value.length === 0)
  );
}

let c = _.omitBy(obj, isEmptyValue);
console.log(c);
